Add GPX test for wild and crazy times.
pvt->tow
- pvt->leap_scnds;
wptimes = floor(wptime);
- wpt->creation_time = wptimes;
- wpt->microseconds = 1000000.0 * (wptime - wptimes);
+ wpt->SetCreationTime(wptimes, 1000000.0 * (wptime - wptimes));
/*
* The Garmin spec fifteen different models that use a different
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<gpx version="1.0" creator="GPSBabel - http://www.gpsbabel.org" xmlns="http://www.topografix.com/GPX/1/0">
+ <time>1970-01-01T00:00:00Z</time>
+ <bounds minlat="35.972033333" minlon="-87.134700000" maxlat="36.090683333" maxlon="-86.679550000"/>
+ <wpt lat="35.972033333" lon="-87.134700000">
+ <time>1234-12-12T08:00:00.123Z</time>
+ <name>Early</name>
+ <cmt>Early</cmt>
+ <desc>Early</desc>
+ </wpt>
+ <wpt lat="36.090683333" lon="-86.679550000">
+ <time>4096-12-12T08:00:00.410Z</time>
+ <name>Late</name>
+ <cmt>Late</cmt>
+ <desc>Late</desc>
+ </wpt>
+</gpx>
return;
}
- via = wpt_tmp->microseconds;
- wpt_tmp->microseconds = 0;
+ via = wpt_tmp->wpt_flags.fmt_use ;
+ wpt_tmp->wpt_flags.fmt_use = 0;
if (version < 2) { /* keep the old behaviour */
wpt_tmp->notes = wpt_tmp->description;
wpt_tmp = waypt_new();
if ((waypoints == 1) || (waypoints == item_count)) {
- wpt_tmp->microseconds++;
+ wpt_tmp->wpt_flags.fmt_use ++;
}
while (*avp) {
wpt_tmp->description = trimmed_strdup(avp[1]);
} else if ((0 == case_ignore_strcmp(avp[0], "ViaStation")) &&
(0 == case_ignore_strcmp(avp[1], "true"))) {
- wpt_tmp->microseconds = 1; /* only a flag */
+ wpt_tmp->wpt_flags.fmt_use = 1; /* only a flag */
}
/* new in TEF V2 */
rm -f ${TMPDIR}/extensiondata.gpx
gpsbabel -i unicsv -f ${REFERENCE}/extensiondata.unicsv -x transform,trk=wpt -o gpx,garminextensions -F ${TMPDIR}/extensiondata.gpx
compare ${REFERENCE}/extensiondata~unicsv.gpx ${TMPDIR}/extensiondata.gpx
+
+# Read, write GPX file with times that don't fit in time_t, subsecond.
+gpsbabel -i gpx -f ${REFERENCE}/bigtime.gpx -o gpx -F ${TMPDIR}/bigtime.gpx
+compare ${REFERENCE}/bigtime.gpx ${TMPDIR}/bigtime.gpx